package com.lin.guli.service.edu.controller.api;


import com.lin.guli.service.base.result.R;
import com.lin.guli.service.edu.entity.Teacher;
import com.lin.guli.service.edu.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * <p>
 * 讲师 前端控制器
 * </p>
 *
 * @author lin
 * @since 2021-10-09
 */
@RestController
@RequestMapping("/api/edu/teacher")     //表示用户访问
public class ApiTeacherController {
    /*
        自动装配业务类对象查询数据集合返回
    */

    @Autowired
    TeacherService teacherService;

    //1.查询所有讲师
    @GetMapping("list")
    public R list(){
        List<Teacher> teachers = teacherService.list();
        return R.ok().data("items",teachers);
    }

    //2.查询指定id的讲师
    /*
        400：代表请求参数错误（后端要求的参数没有传或者传入的格式错误）
        后端处理请求时如果给前端统一响应，可以提高前端给用户提示的友好
        以后后端无论成功还是失败 都返回一个统一格式的数据，方便前端解析
            R{
                Integer code;//状态码 20000代表成功  其他失败
                String message;//响应描述信息
                Boolean success;//是否成功
                Map<String,Object> data;  //响应数据
            }
    */
    @GetMapping("getById/{id}")
    public R getById(@PathVariable String id){
        try {
            Teacher teacher = teacherService.getById(id);
            int i = 1/0;
            return R.ok().data("item",teacher);
        } catch (Exception e) {
            return R.error().message("除数为0的异常");
        }
    }
}

